Generally speaking, one or more device drivers are needed to access and use peripheral devices. For example, a printer driver is normally needed to use a printer that is connected to the user's host device (e.g., personal computer (PC)). The driver acts as a translator between the device and programs that execute on the host device. Therefore, the driver can accept generic commands from the host programs and translate them into one or more specialized commands that are understood by the device.
Normally, driver software is included along with a device upon its purchase. For instance, most devices come with a CDROM that contains installation software that includes the driver and various other programs that the user may wish to install on his or her host device. Unfortunately, users have in the past been bombarded with multiple programs available for download that accompany the driver software, many of which users may not wish to install. Although several manufacturers have realized that users may not wish to install these other programs and therefore have curtailed the number of programs presented to the user for installation, many users now simply discard the installation software provided with the device and, instead, obtain the driver, absent the additional programs, from other sources such as the Internet. In such cases, the driver software is downloaded to the host device, and is installed using an existing installation utility that is provided by the user's operating system (O/S). For example, Microsoft Windows™ O/S includes an “Add Printer Wizard” that may be used to install printer drivers.
Although users can obtain the necessary driver software from these other sources, these users may miss out on various code beyond the driver software that may be of substantial benefit to the user. Such code includes code that, although substantially transparent to the user, facilitates various additional functionalities that typically are not provided by a driver alone. The auxiliary code typically cannot be installed along with the driver software when the O/S installation utility is used in that such utilities are only configured to install the most basic code that is required to control the device, i.e. the “driver” alone. Accordingly, the auxiliary code typically cannot merely be added into the driver software to ensure its installation by the O/S installation utility.
In view of the above, it can be appreciated that it would be desirable to have a system and method for installing auxiliary code along with a device driver using an existing O/S installation utility.